package com.thinkgem.jeesite.cn.yy.service;


import com.thinkgem.jeesite.cn.yy.utils.Paging;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by jws24 on 2017/11/21.
 */
@MyBatisDao
public interface ProTableService {
    /**
     * 增加数据库信息表
     * @param tabName
     * @param proId
     * @param tabDescription
     */
    void saveProTable(
            @Param("tab_name") String tabName,
            @Param("pro_id") int proId,
            @Param("tab_description")String tabDescription);


    /**
     * 根据项目名查表
     * @return
     */
     List<Map<String,String>> getProTableByName(@Param("pro_name") String proName, Paging paging);

    /**
     * 删除数据库表信息表
     * @param tabId
     */

    void delProTable(@Param("tab_id") int tabId);


    /**
     * 更改数据库信息表
     * @param tabName
     */

    void updateProTable(@Param("tab_id") int tabId, @Param("tab_name") String tabName,@Param("tab_description")String tabDescription);


    /**
     *
     * @param tabId
     * @return
     */
    Map<String,String> getTableById(@Param("tab_id") int tabId);
    /**
     * 清除表中数据
     */
    void truncateProTable(@Param("tab_id") int tabId);

    /**
     * 查询总记录数
     * @return
     */
    int getProTablePage();


    /**
     * 增加根据项目名查表的操作
     * @param proName
     */
    void saveTableActionByProName(@Param("pro_name") String proName);
    /**
     * 根据项目编号查表
     */
     int  selectId(@Param("pro_id")int proId,@Param("tab_name")String tabName);
     int  byId(@Param("tab_id")int tabId,@Param("tab_name")String tabName);
    /**
     * 增加删除表的操作
     * @param tab_id
     */
    void saveDelTableAction(@Param("tab_id") int tab_id);
/**
 * 增加更改表的操作
 * //
 */
    void saveUpdateTableAction(@Param("tab_id") int tabId, @Param("tab_name") String tabName);
    /**
     * 增加增加数据表的操作
     */
    void saveSaveTableAction(@Param("pro_id") int proId);
    /**
     *
     */
    void saveGetProInfoByProName(@Param("pro_name") String proName);
}
